Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Êý¾Ý¿âͬ²½
 
  6811  次浏览      29
 2018-8-30
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcnblogs£¬½éÉÜÁËMySqlµÄ¸´ÖÆ£¬´´½¨ËùÓõĸ´ÖÆÕ˺ţ¬ÅäÖÃmaster£¬ÅäÖÃslaveµÄ¹ý³Ì¡£

Ò»¡¢MySqlµÄ¸´ÖÆ

Êý¾Ý¿â¸´ÖƵĻù±¾ÎÊÌâ¾ÍÊÇÈÃһ̨·þÎñÆ÷µÄÊý¾ÝÓëÆäËû·þÎñÆ÷±£³Öͬ²½¡£MySqlĿǰ֧³ÖÁ½ÖÖ¸´ÖÆ·½Ê½£º»ùÓÚÐеĸ´ÖƺͻùÓÚÓï¾äµÄ¸´ÖÆ£¬ÕâÁ½ÕߵĻù±¾¹ý³Ì¶¼ÊÇÔÚÖ÷¿âÉϼǼ¶þ½øÖƵÄÈÕÖ¾¡¢ÔÚ±¸¿âÉÏÖØ·ÅÈÕÖ¾µÄ·½Ê½À´ÊµÏÖÒì²½µÄÊý¾Ý¸´ÖÆ¡£Æä¹ý³Ì·ÖΪÈý²½£º

(1)master½«¸Ä±ä¼Ç¼µ½¶þ½øÖÆÈÕÖ¾(binary log)ÖУ¨ÕâЩ¼Ç¼½Ð×ö¶þ½øÖÆÈÕ־ʼþ£¬binary log events £©£»

(2)slave½«masterµÄbinary log events¿½±´µ½ËüµÄÖмÌÈÕÖ¾(relay log)£»

(3)slaveÖØ×öÖмÌÈÕÖ¾ÖеÄʼþ£¬½«¸Ä±ä·´Ó³Ëü×Ô¼ºµÄÊý¾Ý¡£

![] (http: //image.wenzhihuai.com /images /20171118040843.png)

¸Ã¹ý³ÌµÄµÚÒ»²¿·Ö¾ÍÊÇmaster¼Ç¼¶þ½øÖÆÈÕÖ¾¡£ÔÚÿ¸öÊÂÎñ¸üÐÂÊý¾ÝÍê³É֮ǰ£¬masterÔÚ¶þÈÕÖ¾¼Ç¼ÕâЩ¸Ä±ä¡£MySQL½«ÊÂÎñ´®ÐеÄдÈë¶þ½øÖÆÈÕÖ¾£¬¼´Ê¹ÊÂÎñÖеÄÓï¾ä¶¼Êǽ»²æÖ´Ðеġ£ÔÚʼþдÈë¶þ½øÖÆÈÕÖ¾Íê³Éºó£¬master֪ͨ´æ´¢ÒýÇæÌá½»ÊÂÎñ¡£

ÏÂÒ»²½¾ÍÊÇslave½«masterµÄbinary log¿½±´µ½Ëü×Ô¼ºµÄÖмÌÈÕÖ¾¡£Ê×ÏÈ£¬slave¿ªÊ¼Ò»¸ö¹¤×÷Ï̡߳ª¡ªI/OÏ̡߳£I/OÏß³ÌÔÚmasterÉÏ´ò¿ªÒ»¸öÆÕͨµÄÁ¬½Ó£¬È»ºó¿ªÊ¼binlog dump process¡£Binlog dump process ´Ómaster µÄ¶þ½øÖÆÈÕÖ¾ÖжÁȡʼþ£¬Èç¹ûÒѾ­¸úÉÏmaster£¬Ëü»á˯Ãß²¢µÈ´ýmaster²úÉúеÄʼþ¡£I/OÏ߳̽«ÕâЩʼþдÈëÖмÌÈÕÖ¾¡£

SQL slave thread´¦Àí¸Ã¹ý³ÌµÄ×îºóÒ»²½¡£SQLÏ̴߳ÓÖмÌÈÕÖ¾¶Áȡʼþ£¬¸üÐÂslaveµÄÊý¾Ý£¬Ê¹ÆäÓëmaster ÖеÄÊý¾ÝÒ»Ö¡£Ö»Òª¸ÃÏß³ÌÓëI/OÏ̱߳£³ÖÒ»Ö£¬ÖмÌÈÕ־ͨ³£»áλÓÚOSµÄ»º´æÖУ¬ËùÒÔÖмÌÈÕÖ¾µÄ¿ªÏúºÜС¡£

´ËÍ⣬ÔÚmasterÖÐÒ²ÓÐÒ»¸ö¹¤×÷Ị̈߳ººÍÆäËüMySQLµÄÁ¬½ÓÒ»Ñù£¬slaveÔÚmasterÖдò¿ªÒ»¸öÁ¬½ÓÒ²»áʹµÃmaster ¿ªÊ¼Ò»¸öÏ̡߳£¸´Öƹý³ÌÓÐÒ»¸öºÜÖØÒªµÄÏÞÖÆ¡ª¡ª¸´ÖÆÔÚslaveÉÏÊÇ´®Ðл¯µÄ£¬Ò²¾ÍÊÇ˵masterÉϵIJ¢ÐиüвÙ×÷²»ÄÜÔÚslaveÉϲ¢ÐвÙ×÷¡£

MySqlµÄ»ù±¾¸´ÖÆ·½Ê½ÓÐÖ÷´Ó¸´ÖÆ¡¢Ö÷Ö÷¸´ÖÆ£¬Ö÷Ö÷¸´ÖƼ´°ÑÖ÷´Ó¸´ÖƵÄÅäÖõ¹¹ýÀ´ÔÙÅäÖÃÒ»±é¼´¿É£¬ÏÂÃæµÄÅäÖÃÔòÊÇÖ÷´Ó¸´ÖƵĹý³Ì£¬µ½Ê±ºò¿É×ÔÐиÄΪÖ÷Ö÷¸´ÖÆ¡£ÆäËûµÄ¼Ü¹¹È磺һÖ÷¿â¶à±¸¿â¡¢»·Ðθ´ÖÆ¡¢Ê÷»òÕß½ð×ÖËþÐͶ¼ÊÇ»ùÓÚÕâÁ½ÖÖ·½Ê½£¬¿É²Î¿¼¡¶¸ßÐÔÄÜMySql¡·¡£

¶þ¡¢ÅäÖùý³Ì

2.1 ´´½¨ËùÓõĸ´ÖÆÕ˺Å

ÓÉÓÚÊǸö×Ô¼ºµÄÐ¡ÍøÕ¾£¬¾Í²»×ö¹ý¶àµÄ²Ù×÷ÁË£¬Ö±½ÓʹÓÃrootÕ˺Å

2.2 ÅäÖÃmaster

½ÓÏÂÀ´Òª¶ÔmysqlµÄserverID£¬ÈÕ־λÖ㬸´ÖÆ·½Ê½µÈ½øÐвÙ×÷£¬Ê¹ÓÃvim´ò¿ªmy.cnf¡£

[client]
default- character-set=utf8
[mysqld]
character_set_server=utf8
init_connect = SET NAMES utf8
datadir=/var/lib/mysql
socket=/var /lib/mysql/mysql.sock
symbolic-links =0
log-error=/var /log/mysqld.log
pid-file=/var /run/mysqld/mysqld.pid
# master
log-bin=mysql-bin
# ÉèΪ»ùÓÚÐеĸ´ÖÆ
binlog-format=ROW
# ÉèÖÃserverµÄΨһid
server-id=2
# ºöÂÔµÄÊý¾Ý¿â£¬²»Ê¹Óñ¸·Ý
binlog- ignore-db=information_schema
binlog- ignore-db=cluster
binlog- ignore-db=mysql
# Òª½øÐб¸·ÝµÄÊý¾Ý¿â
binlog-do-db=myblog

ÖØÆôMysqlÖ®ºó£¬²é¿´Ö÷¿â״̬£¬show master status¡£

ÆäÖУ¬FileΪÈÕÖ¾Îļþ£¬Ö¸¶¨Slave´ÓÄĸöÈÕÖ¾Îļþ¿ªÊ¼¶Á¸´ÖÆÊý¾Ý£¬PositionÎªÆ«ÒÆ£¬´ÓÄĸöPOSITIONºÅ¿ªÊ¼¶Á£¬Binlog_Do_DBΪҪ±¸·ÝµÄÊý¾Ý¿â¡£

2.3 ÅäÖÃslave

´Ó¿âµÄÅäÖøúÖ÷¿âÀàËÆ£¬vim /etc/my.cnfÅäÖôӿâÐÅÏ¢¡£

[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
init_connect= SET NAMES utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# slave
log-bin=mysql-bin
# ·þÎñÆ÷Ψһid
server-id=3
# ²»±¸·ÝµÄÊý¾Ý¿â
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
# ÐèÒª±¸·ÝµÄÊý¾Ý¿â
replicate-do-db=myblog
# ÆäËûÏà¹ØÐÅÏ¢
slave-skip-errors=all
slave-net-timeout=60
# ¿ªÆôÖмÌÈÕÖ¾
relay_log = mysql-relay-bin
#
log_slave_updates = 1
# ·ÀÖ¹¸Ä±äÊý¾Ý
read_only = 1

ÖØÆôslave£¬Í¬Ê±Æô¶¯¸´ÖÆ£¬»¹ÐèÒªµ÷ÕûÒ»ÏÂÃüÁî¡£

mysql> CHANGE MASTER TO MASTER_HOST = '119.23.46.71', MASTER _USER = 'root', MASTER_ PASSWORD = 'helloroot', MASTER_ PORT = 3306, MASTER_ LOG_FILE = 'mysql-bin. 000009 ' , MASTER_LOG_ POS = 346180;

¿ÉÒÔ¿´¼ûslaveÒѾ­¿ªÊ¼½øÐÐͬ²½ÁË¡£ÎÒÃÇʹÓÃshow slave status\GÀ´²é¿´slaveµÄ״̬¡£

ÆäÖÐÈÕÖ¾ÎļþºÍPOSITION²»Ò»ÖÂÊǺÏÀíµÄ£¬ÅäÖúÃÁ˵ϰ£¬¼´Ê¹ÖØÆô£¬Ò²²»»áÓ°Ïìµ½Ö÷´Ó¸´ÖƵÄÅäÖá£

ijÌìÔÚGithubÉÏÆ¯ÓΣ¬·¢ÏÖÁ˰¢ÀïµÄcanal£¬Í¬Ê±²ÅÖªµÀÉÏÃæÕâ¸öÒµÎñÊǽÐÒìµØ¿ç»ú·¿Í¬²½£¬ÔçÆÚ£¬°¢Àï°Í°ÍB2B¹«Ë¾ÒòΪ´æÔÚº¼ÖݺÍÃÀ¹úË«»ú·¿²¿Ê𣬴æÔÚ¿ç»ú·¿Í¬²½µÄÒµÎñÐèÇó¡£²»¹ýÔçÆÚµÄÊý¾Ý¿âͬ²½ÒµÎñ£¬Ö÷ÒªÊÇ»ùÓÚtriggerµÄ·½Ê½»ñÈ¡ÔöÁ¿±ä¸ü£¬²»¹ý´Ó2010Ä꿪ʼ£¬°¢Àïϵ¹«Ë¾¿ªÊ¼Ö𲽵ij¢ÊÔ»ùÓÚÊý¾Ý¿âµÄÈÕÖ¾½âÎö£¬»ñÈ¡ÔöÁ¿±ä¸ü½øÐÐͬ²½£¬ÓÉ´ËÑÜÉú³öÁËÔöÁ¿¶©ÔÄ&Ïû·ÑµÄÒµÎñ¡£ÏÂÃæÊÇ»ù±¾µÄÔ­Àí£º

Ô­ÀíÏà¶Ô±È½Ï¼òµ¥£º

1.canalÄ£Äâmysql slaveµÄ½»»¥Ð­Ò飬αװ×Ô¼ºÎªmysql slave£¬Ïòmysql master·¢ËÍdumpЭÒé

2.mysql masterÊÕµ½dumpÇëÇ󣬿ªÊ¼ÍÆËÍbinary log¸øslave(Ò²¾ÍÊÇcanal)

3.canal½âÎöbinary log¶ÔÏó(ԭʼΪbyteÁ÷)

ÆäÖУ¬ÅäÖùý³ÌÈçÏ£ºhttps://github.com/alibaba/canal£¬¿ÉÒÔ´îÅäZookeeperʹÓá£ÔÚZKUIÖÐÄܹ»²é¿´µ½½Úµã£º

Ò»°ãÇé¿öÏ£¬»¹ÒªÅäºÏ°¢ÀïµÄÁíÒ»¸ö¿ªÔ´²úƷʹÓÃotter£¬Ïà¹ØÎĵµ»¹ÊÇÕÒÕÒGitHub°É£¬¸öÈ˴ÍêÁËÖ®ºó£¬ÓÃÆðÀ´»¹ÊDz»ÈçÖ±½ÓʹÓÃmysqlµÄÖ÷Ö÷¸´ÖÆ£¬¶øÇÒÒìµØ»ú·¿Í¬²½ÕâÖÖ´óÆóÒµ²ÅÓеÄÒµÎñ¡£

   
6811 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ